package br.gov.mi.corporativo.dominio.boundary.rhmi.tipoafastamento;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.boundary.rhmi.tipoafastamento.TipoAfastamentoEndPoint;
import br.gov.mi.corporativo.dominio.entidade.rhmi.TipoAfastamento;

@Path("tiposafastamento")
public class TipoAfastamentoRestAdapter extends SpringBeanAutowiringSupport {
	
	@Autowired
	private TipoAfastamentoEndPoint service;
	
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public Iterable<TipoAfastamento> recuperarTodos(){
		return service.recuperarTodos();
		
	}
	
	@GET
	@Path("id/{idTipoAfastamento}")
	@Produces({MediaType.APPLICATION_JSON})
	public TipoAfastamento recuperarPorIdTipoAfastamento(@PathParam("idTipoAfastamento")Long idTipoAfastamento){
		return service.recuperarPorIdTipoAfastamento(idTipoAfastamento);
	}

	@GET
	@Path("tipoafastamento/{cdTipoAfastamento}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<TipoAfastamento> recuperarPorCdTipoAfastamento(@PathParam("cdTipoAfastamento")String cdTipoAfastamento){
		return service.recuperarPorCdTipoAfastamento(cdTipoAfastamento);
	}
	
	@GET
	@Path("afastamento/{nmAfastamento}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<TipoAfastamento> recuperarPorNmAfastamento(@PathParam("nmAfastamento")String nmAfastamento){
		return service.recuperarPorNmAfastamento(nmAfastamento);
	}
	
	@GET
	@Path("stativo/{stAtivo}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<TipoAfastamento> recuperarPorStAtivo(@PathParam("stAtivo")String stAtivo){
		return service.recuperarPorStAtivo(stAtivo);
	}
	
}
